package com.example.demo.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * TOB出库通知单
 * @TableName sg_b_sto_tob_out_notices
 */
@TableName(value ="sg_b_sto_tob_out_notices")
@Data
public class SgBStoTobOutNotices implements Serializable {
    /**
     * ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 单据状态
     */
    @TableField(value = "bill_status")
    private Integer billStatus;

    /**
     * 单据编号(ONB开头+年月日+8位流水)
     */
    @TableField(value = "bill_no")
    private String billNo;

    /**
     * 单据日期
     */
    @TableField(value = "bill_date")
    private Date billDate;

    /**
     * 来源单据类型(101:领用单(不归还),17:逻辑调拨单,6:采购退货单,210:逻辑销售单,220:逻辑销售退货单)
     */
    @TableField(value = "source_bill_type")
    private Integer sourceBillType;

    /**
     * 来源单据编号(多个编号逗号隔开)
     */
    @TableField(value = "source_bill_no")
    private String sourceBillNo;

    /**
     * 来源单据ID(多个ID用逗号隔开)
     */
    @TableField(value = "source_bill_id")
    private String sourceBillId;

    /**
     * 出库时间
     */
    @TableField(value = "out_time")
    private Date outTime;

    /**
     * 是否传TMS
     */
    @TableField(value = "is_pass_tms")
    private String isPassTms;

    /**
     * 是否传WMS
     */
    @TableField(value = "is_pass_wms")
    private String isPassWms;

    /**
     * 实体仓ID
     */
    @TableField(value = "cp_c_phy_warehouse_id")
    private Long cpCPhyWarehouseId;

    /**
     * 实体仓编码
     */
    @TableField(value = "cp_c_phy_warehouse_ecode")
    private String cpCPhyWarehouseEcode;

    /**
     * 实体仓名称
     */
    @TableField(value = "cp_c_phy_warehouse_ename")
    private String cpCPhyWarehouseEname;

    /**
     * 运输类型
     */
    @TableField(value = "cp_c_tranway_assign_id")
    private Long cpCTranwayAssignId;

    /**
     * 物流公司ID
     */
    @TableField(value = "cp_c_logistics_id")
    private Long cpCLogisticsId;

    /**
     * 物流公司Code
     */
    @TableField(value = "cp_c_logistics_ecode")
    private String cpCLogisticsEcode;

    /**
     * 物流公司名称
     */
    @TableField(value = "cp_c_logistics_ename")
    private String cpCLogisticsEname;

    /**
     * 物流单号
     */
    @TableField(value = "logistic_number")
    private String logisticNumber;

    /**
     * TMS业务类型
     */
    @TableField(value = "tms_business_type")
    private String tmsBusinessType;

    /**
     * TMS要求提货日期
     */
    @TableField(value = "tms_date")
    private Date tmsDate;

    /**
     * 预计到货日期
     */
    @TableField(value = "expect_in_date")
    private Date expectInDate;

    /**
     * 仓库出货单号【方便门店进行收货】
     */
    @TableField(value = "LOADKEY")
    private String loadkey;

    /**
     * 收货逻辑仓ID
     */
    @TableField(value = "receiver_store_id")
    private Long receiverStoreId;

    /**
     * 收货逻辑仓编码
     */
    @TableField(value = "receiver_store_ecode")
    private String receiverStoreEcode;

    /**
     * 收货逻辑仓名称
     */
    @TableField(value = "receiver_store_ename")
    private String receiverStoreEname;

    /**
     * 是否使用临时地址
     */
    @TableField(value = "is_temporary_address")
    private String isTemporaryAddress;

    /**
     * 收货地址
     */
    @TableField(value = "receiver_address")
    private String receiverAddress;

    /**
     * 收货经销商ID
     */
    @TableField(value = "receiver_customer_id")
    private Long receiverCustomerId;

    /**
     * 调拨类型
     */
    @TableField(value = "transfer_type")
    private Integer transferType;

    /**
     * 销售类型
     */
    @TableField(value = "sale_type")
    private String saleType;

    /**
     * 退货需求
     */
    @TableField(value = "return_demand")
    private String returnDemand;

    /**
     * 需求类型
     */
    @TableField(value = "demand_type")
    private Integer demandType;

    /**
     * 是否德邦到付 0：否 1：是
     */
    @TableField(value = "is_deppon")
    private Integer isDeppon;

    /**
     * 箱数
     */
    @TableField(value = "box")
    private Integer box;

    /**
     * 捆
     */
    @TableField(value = "bundle")
    private Integer bundle;

    /**
     * 门店编号
     */
    @TableField(value = "store_code")
    private String storeCode;

    /**
     * 是否合单
     */
    @TableField(value = "is_merge")
    private String isMerge;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 收货人
     */
    @TableField(value = "receiver")
    private String receiver;

    /**
     * 收货人手机
     */
    @TableField(value = "receiver_mobile")
    private String receiverMobile;

    /**
     * 收货人电话
     */
    @TableField(value = "receiver_phone")
    private String receiverPhone;

    /**
     * 省id
     */
    @TableField(value = "receiver_province_id")
    private Long receiverProvinceId;

    /**
     * 省编码
     */
    @TableField(value = "receiver_province_ecode")
    private String receiverProvinceEcode;

    /**
     * 省名称
     */
    @TableField(value = "receiver_province_ename")
    private String receiverProvinceEname;

    /**
     * 市id
     */
    @TableField(value = "receiver_city_id")
    private Long receiverCityId;

    /**
     * 市编码
     */
    @TableField(value = "receiver_city_ecode")
    private String receiverCityEcode;

    /**
     * 市名称
     */
    @TableField(value = "receiver_city_ename")
    private String receiverCityEname;

    /**
     * 区id
     */
    @TableField(value = "receiver_area_id")
    private Long receiverAreaId;

    /**
     * 区编码
     */
    @TableField(value = "receiver_area_ecode")
    private String receiverAreaEcode;

    /**
     * 区名称
     */
    @TableField(value = "receiver_area_ename")
    private String receiverAreaEname;

    /**
     * 收货人邮编
     */
    @TableField(value = "receiver_zip")
    private String receiverZip;

    /**
     * 发货人
     */
    @TableField(value = "sender")
    private String sender;

    /**
     * 发货人手机
     */
    @TableField(value = "sender_mobile")
    private String senderMobile;

    /**
     * 发货人电话
     */
    @TableField(value = "sender_phone")
    private String senderPhone;

    /**
     * 发货方省id
     */
    @TableField(value = "sender_province_id")
    private Long senderProvinceId;

    /**
     * 发货方省编码
     */
    @TableField(value = "sender_province_ecode")
    private String senderProvinceEcode;

    /**
     * 发货方省名称
     */
    @TableField(value = "sender_province_ename")
    private String senderProvinceEname;

    /**
     * 发货方市id
     */
    @TableField(value = "sender_city_id")
    private Long senderCityId;

    /**
     * 发货方市编码
     */
    @TableField(value = "sender_city_ecode")
    private String senderCityEcode;

    /**
     * 发货方市名称
     */
    @TableField(value = "sender_city_ename")
    private String senderCityEname;

    /**
     * 发货方区id
     */
    @TableField(value = "sender_area_id")
    private Long senderAreaId;

    /**
     * 发货方区编码
     */
    @TableField(value = "sender_area_ecode")
    private String senderAreaEcode;

    /**
     * 发货方区名称
     */
    @TableField(value = "sender_area_ename")
    private String senderAreaEname;

    /**
     * 发货方详细地址
     */
    @TableField(value = "sender_address")
    private String senderAddress;

    /**
     * 总数量
     */
    @TableField(value = "tot_qty")
    private BigDecimal totQty;

    /**
     * 总出库数量
     */
    @TableField(value = "tot_qty_out")
    private BigDecimal totQtyOut;

    /**
     * 总差异数量
     */
    @TableField(value = "tot_qty_diff")
    private BigDecimal totQtyDiff;

    /**
     * 总体积
     */
    @TableField(value = "tot_bulk")
    private BigDecimal totBulk;

    /**
     * 总重量
     */
    @TableField(value = "tot_weight")
    private BigDecimal totWeight;

    /**
     * 总箱数
     */
    @TableField(value = "tot_cases")
    private BigDecimal totCases;

    /**
     * 传TMS状态 (0:未传TMS,1:传TMS中,2:传TMS成功,3:传TMS失败,4:取消TMS成功)
     */
    @TableField(value = "to_tms_status")
    private Integer toTmsStatus;

    /**
     * 传TMS次数
     */
    @TableField(value = "to_tms_count")
    private Integer toTmsCount;

    /**
     * 传TMS失败原因
     */
    @TableField(value = "to_tms_fail_reason")
    private String toTmsFailReason;

    /**
     * 传TMS的下次重试时间
     */
    @TableField(value = "to_tms_fail_retry_time")
    private Date toTmsFailRetryTime;

    /**
     * 传WMS状态 (0:未传WMS,1:传WMS中,2:传WMS成功,3:传WMS失败,4:取消WMS成功)
     */
    @TableField(value = "to_wms_status")
    private Integer toWmsStatus;

    /**
     * 传WMS次数
     */
    @TableField(value = "to_wms_count")
    private Integer toWmsCount;

    /**
     * 传WMS失败原因
     */
    @TableField(value = "to_wms_fail_reason")
    private String toWmsFailReason;

    /**
     * 传WMS重试时间
     */
    @TableField(value = "to_wms_retry_time")
    private Date toWmsRetryTime;

    /**
     * 所属公司
     */
    @TableField(value = "ad_client_id")
    private Long adClientId;

    /**
     * 所属组织
     */
    @TableField(value = "ad_org_id")
    private Long adOrgId;

    /**
     * 是否启用
     */
    @TableField(value = "isactive")
    private String isactive;

    /**
     * 创建人ID
     */
    @TableField(value = "ownerid")
    private Long ownerid;

    /**
     * 创建人姓名
     */
    @TableField(value = "ownerename")
    private String ownerename;

    /**
     * 创建人用户名
     */
    @TableField(value = "ownername")
    private String ownername;

    /**
     * 创建时间
     */
    @TableField(value = "creationdate")
    private Date creationdate;

    /**
     * 修改人ID
     */
    @TableField(value = "modifierid")
    private Long modifierid;

    /**
     * 修改人姓名
     */
    @TableField(value = "modifierename")
    private String modifierename;

    /**
     * 修改人用户名
     */
    @TableField(value = "modifiername")
    private String modifiername;

    /**
     * 修改时间
     */
    @TableField(value = "modifieddate")
    private Date modifieddate;

    /**
     * 作废人ID
     */
    @TableField(value = "deler_id")
    private Long delerId;

    /**
     * 作废人姓名
     */
    @TableField(value = "deler_ename")
    private String delerEname;

    /**
     * 作废人用户名
     */
    @TableField(value = "deler_name")
    private String delerName;

    /**
     * 作废时间
     */
    @TableField(value = "del_time")
    private Date delTime;

    /**
     * 提交人ID
     */
    @TableField(value = "status_id")
    private Long statusId;

    /**
     * 提交人姓名
     */
    @TableField(value = "status_ename")
    private String statusEname;

    /**
     * 提交人用户名
     */
    @TableField(value = "status_name")
    private String statusName;

    /**
     * 提交时间
     */
    @TableField(value = "status_time")
    private Date statusTime;

    /**
     * 版本号
     */
    @TableField(value = "version")
    private Long version;

    /**
     * 发货逻辑仓ID
     */
    @TableField(value = "sender_store_id")
    private Long senderStoreId;

    /**
     * 发货逻辑仓编码
     */
    @TableField(value = "sender_store_ecode")
    private String senderStoreEcode;

    /**
     * 发货逻辑仓名称
     */
    @TableField(value = "sender_store_ename")
    private String senderStoreEname;

    /**
     * 发货方LOCATION
     */
    @TableField(value = "sender_location")
    private Long senderLocation;

    /**
     * 收货方LOCATION
     */
    @TableField(value = "receiver_location")
    private Long receiverLocation;

    /**
     * 运输方式
     */
    @TableField(value = "transportation_mode")
    private Long transportationMode;

    /**
     * 发货传drp状态
     */
    @TableField(value = "drp_status")
    private Integer drpStatus;

    /**
     * 发货传Drp次数
     */
    @TableField(value = "drp_fail_count")
    private Integer drpFailCount;

    /**
     * 发货传Drp失败原因
     */
    @TableField(value = "drp_fail_reason")
    private String drpFailReason;

    /**
     * 发货传Drp的下次重试时间
     */
    @TableField(value = "drp_fail_retry_time")
    private Date drpFailRetryTime;

    /**
     * 是否召回 Y/N
     */
    @TableField(value = "is_recall")
    private String isRecall;

    /**
     * 批次号
     */
    @TableField(value = "batch_no")
    private String batchNo;

    /**
     * 推送YY电子装箱单任务状态(0：未传;1：成功;2：不传; 3：失败)
     */
    @TableField(value = "to_yy_packing_task_status")
    private String toYyPackingTaskStatus;

    /**
     * 出库传排单状态
     */
    @TableField(value = "out_to_wms_status")
    private Integer outToWmsStatus;

    /**
     * 出库传排单次数
     */
    @TableField(value = "out_to_wms_count")
    private Integer outToWmsCount;

    /**
     * 出库传排单失败原因
     */
    @TableField(value = "out_to_wms_fail_reason")
    private String outToWmsFailReason;

    /**
     * 出库传排单下次重试时间
     */
    @TableField(value = "out_to_wms_fail_retry_time")
    private Date outToWmsFailRetryTime;

    /**
     * 快捷修正
     */
    @TableField(value = "quick_repair")
    private String quickRepair;

    /**
     * 排单推送WMS状态
     */
    @TableField(value = "platoon_to_wms_status")
    private Integer platoonToWmsStatus;

    /**
     * 排单推送WMS时间
     */
    @TableField(value = "platoon_to_wms_time")
    private Date platoonToWmsTime;

    /**
     * 排单推送TMS状态
     */
    @TableField(value = "platoon_to_tms_status")
    private Integer platoonToTmsStatus;

    /**
     * 排单推送TMS时间
     */
    @TableField(value = "platoon_to_tms_time")
    private Date platoonToTmsTime;

    /**
     * 发货地址
     */
    @TableField(value = "send_address")
    private String sendAddress;

    /**
     * 历史数据处理标记
     */
    @TableField(value = "devops_mark")
    private String devopsMark;

    /**
     * 签收时间
     */
    @TableField(value = "sign_date")
    private Date signDate;

    /**
     * TMS分配承运商失败原因
     */
    @TableField(value = "tms_assign_carrier_fail_reason")
    private String tmsAssignCarrierFailReason;

    /**
     * 指定快递产品
     */
    @TableField(value = "express_deliver_product")
    private String expressDeliverProduct;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}